unit uCaixaLancamento;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, RXCtrls, Mask, ToolEdit, CurrEdit, RXDBCtrl;

type
  TfCaixaLancamento = class(TForm)
    Label4: TLabel;
    edValor: TRxCalcEdit;
    BitBtn1: TBitBtn;
    GroupBox1: TGroupBox;
    rbDebito: TRadioButton;
    rbCredito: TRadioButton;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fCaixaLancamento: TfCaixaLancamento;

implementation

uses uPesquisaCaixa, uDm, uCaixa;

{$R *.dfm}

procedure TfCaixaLancamento.BitBtn1Click(Sender: TObject);
begin
  if edValor.Value = 0 then
  begin
    MessageDlg('Informe o valor do lancamento',mtWarning,[mbOK],1);
    edValor.SetFocus;
    abort;
  end;
  if edValor.Value < 0 then
  begin
    MessageDlg('O valor do lancamento nao pode ser menor que zero',mtWarning,[mbOK],1);
    edValor.SetFocus;
    abort;
  end;

  if MessageDlg('Deseja realmente fazer o lancamento?',mtConfirmation,[mbYes,mbNo],1)=mrYes then
  begin
    dm.exec.close;
    dm.exec.SQL.Clear;
    dm.exec.SQL.Add('insert into financeiro ()');
    dm.exec.SQL.Add('values (:data,:valor,:tipo,:caixa,:descricao)');
    if dm.configuracoesFECHAMENTO_CAIXA.AsString = 'True' then
      dm.exec.ParamByName('data').value := dm.qryFechamentoPROXIMA_ABERTURA.AsDateTime
    else
      dm.exec.ParamByName('data').Value := date;
    dm.exec.ParamByName('valor').Value := edValor.Value;
    if rbCredito.Checked then
      dm.exec.ParamByName('tipo').Value := 'C';
    if rbDebito.Checked then
      dm.exec.ParamByName('tipo').Value := 'D';
    dm.exec.ParamByName('caixa').Value := fCaixa.dbCliente.Text;
//    dm.exec.ParamByName('descricao').value := edDescricao.Text;
    dm.exec.ExecSQL;
    fCaixa.BitBtn1Click(sender);
    close;
  end;
end;

end.
